. TYCOON: A BUSINESS
. SIMULATION
. BY ALEX MARALES
. THE BASIC EXPRESS
. JULY/AUGUST 1981: 32-33
5 NT=1;clear ;CY=0;input "   DIFFICULTY: 1 OR 2 right "Z;if (Z<1)+(Z>2)goto 5
10 clear ;C=500;M=2
20 for I=1to 3
30 @(I)=0;@(I+3)=0
40 @(I+6)=rnd (3)+15
50 @(I+9)=rnd (10)+70
60 next I
70 goto 600
80 print " ITEM# ? ",;box CX,CY,6,8,1;N=KP;TV=N;if (N<49)+(N>51)print ; print " ERROR - LOSE MONTH";return 
90 print ;N=N-48;return 
100 for I=1to 3
110 if Z=1J=rnd (5)-2;goto 120
115 J=rnd (9)-4
120 J=@(I+6)+J
130 if Z=1if (J<10)+(J>20)goto 110
135 if Z=2if (J<10)+(J>30)goto 115
140 @(I+6)=J
150 if Z=1J=rnd (11)-5;goto 160
155 J=rnd (20)-10
160 J=@(I+9)+J
170 if Z=1if (J<50)+(J>90)goto 150
175 if Z=2if (J<40)+(J>105)goto 155
180 @(I+9)=J
190 next I
200 if Z=1J=rnd (5)-2;goto 210
205 J=rnd (9)-4
210 J=M+J
220 if Z=1if (J<1)+(J>9)goto 200
225 if Z=2if (J<1)+(J>20)goto 205
230 M=J
240 return 
250 clear ;print " ITEM  MATERIALS  PRODUCTS
260 for I=1to 3
270 CX=-59;print #1,I,;CX=-35;print #3,@(I),"@",;CX=-11;print #1,"$",@(I+6),;CX=30;print #3,@(I+3),"@",;CX=56;print #1,"$",@(I+9)
280 next I;return 
300 input " AMT. OF MATERIALS?"A
310 gosub 80
330 C=C-Amul @(N+6)
340 if C<0goto 370
350 @(N)=@(N)+A
360 return 
370 C=C+Amul @(N+6)
380 print " INSUFFICIENT FUNDS
390 return
400 input " MANUFACTURER AMT.?"A
410 gosub 80
420 C=C-Amul M
430 if C<0print " INSUFFICIENT FUNDS";C=C+Amul M;return
440 for I=1to 3
450 if I=Ngoto 480
460 @(I)=@(I)-A
470 if @(I)<0print " MATERIALS GONE";@(I)=@(I)+A;C=C+Amul M;return 
480 next I;@(N+3)=@(N+3)+A;return 
500 input " AMT. TO SELL?"A
510 gosub 80
520 @(N+3)=@(N+3)-A
530 if @(N+3)<0goto 560
540 C=C+Amul @(N+9)
550 return 
560 @(N=3)=@(N+3)+A
570 print " PRODUCTS GONE
580 return 
600 clear ;input " HOW MANY YEARS? (1-3)"Y;if (Y<1)+(Y>3)goto 600
610 Y=Ymul 12
620 for T=0to Y
630 gosub 250
640 print " MONTH",#3,T,"  YOU HAVE $",#4,C;print " MFG. COSTS ARE $",#1,M
650 print " TRANSACTION (O,B,M,S)? ",;box CX,CY,6,8,1;R=KP;TV=R
660 if (R=79)+(R=66)+(R=77)+(R=83)print ;goto 680
670 print ;goto 650
680 if R=66gosub 300
690 if R=77gosub 400
700 if R=83gosub 500
710 gosub 100
720 next T
730 print " END OF ",#1,Y," MONTHS
740 for I=1to 3
750 C=C+@(I)mul @(I+6)
760 C=C+@(I+3)mul @(I+9)
770 next I
780 C=C-500
790 print " YOUR PROFIT IS $",#1,C,".",
800 K=KP;run 
:return ;run 
